home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 97 / CD-ROM 97 / CD-ROM 97.iso / internet / ghostzilla / ghsetup.exe / chrome / inspector.jar / content / inspector / sidebar.js < prev    next >
Encoding:
JavaScript  |  2002-04-09  |  3.8 KB  |  128 lines

  1. /* ***** BEGIN LICENSE BLOCK *****
  2.  * Version: NPL 1.1/GPL 2.0/LGPL 2.1
  3.  *
  4.  * The contents of this file are subject to the Netscape Public License
  5.  * Version 1.1 (the "License"); you may not use this file except in
  6.  * compliance with the License. You may obtain a copy of the License at
  7.  * http://www.mozilla.org/NPL/
  8.  *
  9.  * Software distributed under the License is distributed on an "AS IS" basis,
  10.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11.  * for the specific language governing rights and limitations under the
  12.  * License.
  13.  *
  14.  * The Original Code is mozilla.org code.
  15.  *
  16.  * The Initial Developer of the Original Code is 
  17.  * Netscape Communications Corporation.
  18.  * Portions created by the Initial Developer are Copyright (C) 2001
  19.  * the Initial Developer. All Rights Reserved.
  20.  *
  21.  * Contributor(s):
  22.  *   Joe Hewitt <hewitt@netscape.com> (original author)
  23.  *
  24.  *
  25.  * Alternatively, the contents of this file may be used under the terms of
  26.  * either the GNU General Public License Version 2 or later (the "GPL"), or
  27.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  28.  * in which case the provisions of the GPL or the LGPL are applicable instead
  29.  * of those above. If you wish to allow use of your version of this file only
  30.  * under the terms of either the GPL or the LGPL, and not to allow others to
  31.  * use your version of this file under the terms of the NPL, indicate your
  32.  * decision by deleting the provisions above and replace them with the notice
  33.  * and other provisions required by the GPL or the LGPL. If you do not delete
  34.  * the provisions above, a recipient may use your version of this file under
  35.  * the terms of any one of the NPL, the GPL or the LGPL.
  36.  *
  37.  * ***** END LICENSE BLOCK ***** */
  38.  
  39. /***************************************************************
  40. * InspectorSidebar -------------------------------------------------
  41. *  The primary object that controls the Inspector sidebar.
  42. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  43. * REQUIRED IMPORTS:
  44. ****************************************************************/
  45.  
  46. //////////// global variables /////////////////////
  47.  
  48. var inspector;
  49.  
  50. //////////// global constants ////////////////////
  51.  
  52. const kObserverServiceIID  = "@mozilla.org/observer-service;1";
  53.  
  54. const gNavigator = window._content;
  55.  
  56. //////////////////////////////////////////////////
  57.  
  58. window.addEventListener("load", InspectorSidebar_initialize, false);
  59.  
  60. function InspectorSidebar_initialize()
  61. {
  62.   inspector = new InspectorSidebar();
  63.   inspector.initialize();
  64. }
  65.  
  66. ////////////////////////////////////////////////////////////////////////////
  67. //// class InspectorSidebar
  68.  
  69. function InspectorSidebar()
  70. {
  71. }
  72.  
  73. InspectorSidebar.prototype = 
  74. {
  75.   ////////////////////////////////////////////////////////////////////////////
  76.   //// Initialization
  77.  
  78.   get document() { return this.mDocPanel.viewer.subject; },
  79.  
  80.   initialize: function()
  81.   {
  82.     this.installNavObserver();
  83.  
  84.     this.mPanelSet = document.getElementById("bxPanelSet");
  85.     this.mPanelSet.initialize();
  86.   },
  87.   
  88.   destroy: function()
  89.   {
  90.   },
  91.  
  92.   doViewerCommand: function(aCommand)
  93.   {
  94.     this.mPanelSet.execCommand(aCommand);
  95.   },
  96.   
  97.   getViewer: function(aUID)
  98.   {
  99.     return this.mPanelSet.registry.getViewerByUID(aUID);
  100.   },
  101.   
  102.   ////////////////////////////////////////////////////////////////////////////
  103.   //// Navigation
  104.   
  105.   setTargetWindow: function(aWindow)
  106.   {
  107.     this.setTargetDocument(aWindow.document);
  108.   },
  109.  
  110.   setTargetDocument: function(aDoc)
  111.   {
  112.     this.mPanelSet.getPanel(0).subject = aDoc;
  113.   },
  114.  
  115.   installNavObserver: function()
  116.   {
  117.         var observerService = XPCU.getService(kObserverServiceIID, "nsIObserverService");
  118.     observerService.addObserver(NavLoadObserver, "EndDocumentLoad", false);
  119.   }
  120. };
  121.  
  122. var NavLoadObserver = {
  123.   observe: function(aWindow)
  124.   {
  125.     inspector.setTargetWindow(aWindow);
  126.   }
  127. };
  128.